<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<!-- user main -->
<div id="user-layout-main" class="easyui-layout" style="width:100%;height:100%;">   
    <div data-options="region:'north'" style="height:50px; line-height: 48px;">
    	<!-- 条件搜索栏 -->
		<form id="user-form-search" method="post">
			<label for="name">真实名称:</label> <input class="easyui-validatebox" type="text" name="name" />
			<label for="login_name">登录名称:</label> <input class="easyui-validatebox" type="text" name="login_name" />
			<input type="button" class="icon-search" style="width:50px;" onclick="user.search('user-form-search')"/>
		</form>
	</div>   
    <div data-options="region:'center'" style="padding:5px;background:#eee;">
    	<table id="user-datagrid-list" class="easyui-datagrid" 
    	data-options="url:'/user/list',fitColumns:true,singleSelect:false,pagination:true,
    	pageSize:10,
    	pageList:[10,20,30],
    	toolbar:[{
    	text:'添加',
		iconCls: 'icon-add',
		handler: user.openAddWindow
	},'-',{
		text:'修改',
		iconCls: 'icon-edit',
		handler: user.openUpdateWindow
	},'-',
	{
		text:'删除',
		iconCls: 'icon-no',
		handler: user.remove
	}]">   
			<thead>
				<tr>
					<th data-options="field:'checked',checkbox:true"></th>
					<th data-options="field:'id'">编码</th>
					<th data-options="field:'login_name'">登录名称</th>
					<th data-options="field:'name'">真实名称</th>
					<th data-options="field:'phone'">手机号码</th>
					<th data-options="field:'email'">邮箱</th>
					<th data-options="field:'identity'">身份证</th>
					<th data-options="field:'creator'">创建者</th>
					<th data-options="field:'status'">当前状态</th>
					<th data-options="field:'create_time',align:'center',
					formatter:  function(value,row,index){
							return YHD.formatDate(value,'yyyy-MM-dd hh:mm:ss');
					}">创建时间</th>
					<th data-options="field:'update_time',align:'center',
					formatter:  function(value,row,index){
							return YHD.formatDate(value,'yyyy-MM-dd hh:mm:ss');
					}">修改时间</th>
				</tr>
			</thead>
		</table>
		  
    </div>   
</div>


<script type="text/javascript" >
	var user={};
	
	//搜索
	user.search = function(formId){
		var name = $.trim($('#'+formId+' input[name=name]').val());
		var login_name = $.trim($('#'+formId+' input[name=login_name]').val());
		var params = {};
		if(name!=''){
			params.name = name;
		}
		if(login_name!=''){
			params.login_name = login_name;
		}
		/* var s = $('#'+formId).serialize();
		var result = [];
		s.replace(/[^\/]+/g, function(objstr) {
        var obj = {},empty = false;
        objstr.replace(/([^\/&=]+)(=([^\/&=]+)?)?/g, function(s, a, b, c) {
            if(a && b && c){
                obj[a] = c;
            }else if(a && !c){
                obj[a] = '';
            }else{
                empty = true;
            }
        });
        if(!empty){
            result.push(obj);
        }
   	 	});
		s = result[0];
		console.info(result[0]);
		for(var key in s){
			if(s[key]==''){
				s[key] = null;
			}
		} */
		$('#user-datagrid-list').datagrid('load',params);
			/* //传空参数，清除原来的参数
			$('#user-datagrid-list').datagrid('load',{});    
		
			
			$('#user-datagrid-list').datagrid('load',{"name":name}); */
		
	};
	
	//校验用户名称
	user.checkLoginName = function(formId,orignal_name){
		var $input_user_name = $('#'+formId+' input[name=login_name]');
  		var user_name = $.trim($input_user_name.val());
       	if(user_name==''){
       		$input_user_name.focus();
       		//显示错误信息
       		$('#'+formId+' #login-name-tip').html('<span style="color:red;">用户名称不能为空</span>');
        	return false;
       	}else{
       		//如果是修改操作，当修改后的名称和修改前相同时，不做唯一性验证
       		if(formId=='user-form-update'){
       			//判断是否相同
       			if(user_name==orignal_name){
       				//给个提示，名称没有修改
       				$('#'+formId+' #user-name-tip').html('<span style="color:blue;">名称没有修改</span>');
       				return false;
       			}
       		}
       		$('#'+formId+' #login-name-tip').html('');
       		var flag = false;
        	//进行唯一性验证，使用ajax查询数据库
       		$.ajax({
       		   type: "get",
       		   url: "/user/check/loginname",
       		   data: "loginName="+user_name,
       		   dataType: "json",
       		   async:false,
       		   success: function(msg){
       		     //如果成功
       		     if(msg.status==200 && msg.data){
       		    	$('#'+formId+' #login-name-tip').html('<span style="color:red;">该用户名称已被使用</span>');
       		     }else{
       		    	$('#'+formId+' #login-name-tip').html('<span style="color:green;">该用户名称可以使用</span>');
       		    	flag = true;
       		     }
       		   }
       		});
        	return flag;
        }
	}
	
	//校验名称
	user.checkName = function(formId){
		//清空原来的显示
		$('#'+formId+' #name-tip').html('');
		
		var $input_name = $('#'+formId+' input[name=name]');
  		var input_name = $.trim($input_name.val());
       	if(input_name==''){
       		$input_name.focus();
       		//显示错误信息
       		$('#'+formId+' #name-tip').html('<span style="color:red;">名称不能为空</span>');
        	return false;
       	}
        return true;
	}
	
	//校验电话号码
	user.checkPhone = function(formId){
		//清空原来的显示
		$('#'+formId+' #phone-tip').html('');
		
		var $input_phone = $('#'+formId+' input[name=phone]');
  		var input_phone = $.trim($input_phone.val());
       	if(input_phone==''){
       		$input_phone.focus();
       		//显示错误信息
       		$('#'+formId+' #phone-tip').html('<span style="color:red;">电话号码不能为空</span>');
        	return false;
       	}
        return true;
	}
	
	//邮箱校验
	user.checkEmail = function(formId){
		//清空原来的显示
		$('#'+formId+' #email-tip').html('');
		
		var $input_email = $('#'+formId+' input[name=email]');
  		var input_email = $.trim($input_email.val());
       	if(input_email==''){
        	return true;
       	}else{
       	//对电子邮件的验证
       	 	var reg = /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/;
       	 	if(reg.test(input_email)){
       	 		return true;
       	 	}else{
	       	 	$input_email.focus();
	       		//显示错误信息
	       		$('#'+formId+' #email-tip').html('<span style="color:red;">邮箱格式不正确</span>');
	       		return false;
       	 	}
       	}
	}
	
	//验证方法,此处适用修改和添加验证，方法参数是各自表单的id,如果是修改
	user.checkForm = function(formId,orignal_name){
		//验证登录名称
  		if(!user.checkLoginName(formId,orignal_name)){
  			return false;
  		}
     	//验证用户名称
     	if(!user.checkName(formId)){
     		return false;
     	}
     	//验证电话号码
     	if(!user.checkPhone(formId)){
     		return false;
     	}
      
       	return true;
	};
	
	//打开添加用户窗口
	user.openAddWindow = function(){
		$('<div id="user-dialog-add"></div>').dialog({
			title:'添加用户',
			width:400,
			height:300,
		    modal:true,
		    collapsible:false,
		    minimizable:false,
		    maximizable:false,
		    closable:false,
		    href:"/user/add",
		    buttons:[{
				text:'添  加',
				iconCls:'icon-add',
				handler:function(){
					$('#user-form-add').form('submit', {    
					    url:'/user/add',   
					    onSubmit: function(){    
					    	return user.checkForm('user-form-add');
					    },  
					    success:function(msg){ 
					    	msg = eval('(' + msg + ')');  
					        //添加用户后，返回结果
					        if(msg.status==200){
					        	//关闭窗口
					        	$('#user-dialog-add').dialog('destroy');  
					        	//弹出成功提示框
					        	$.messager.alert('操作提示','添加成功！','info');
					        	//清空
					        	user.clearAddForm();
					        	//刷新列表
					        	$('#user-datagrid-list').datagrid('reload');
					        }
					    }    
					});
				}
			},{
				text:'关  闭',
				iconCls:'icon-cancel',
				handler:function(){
					console.info('debug destroy');
					$('#user-dialog-add').dialog('destroy');  
				}
			}]
		}); 
	};
	
	//清空表单元素
	user.clearAddForm = function(){
		$('#user-form-add input').val('');
		$('#user-form-add #user-name-tip').html('');
	}
	
	//打开修改用户窗口
	user.openUpdateWindow = function(){
		//判断是否选择了记录
		if($('#user-datagrid-list').datagrid('getSelected')==null){
			//给出一个警告
			$.messager.alert('提示','请选择一条记录！','warning');
		}else{
			//根据所选择的行，得到id去查询这条记录的信息
			var row = $('#user-datagrid-list').datagrid('getSelected');
			
			$('<div id="user-dialog-update"></div>').dialog({
				title:'修改用户',
			    width:300,    
			    height:150,    
			    modal:true,
			    collapsible:false,
			    minimizable:false,
			    maximizable:false,
			    closable:false,
			    href:"/user/update/"+row.id,
			    buttons:[{
					text:'修   改',
					iconCls:'icon-edit',
					handler:function(){
						$('#user-form-update').form('submit', {    
						    url:'/user/update/do',      
						    success:function(msg){ 
						    	msg = eval('(' + msg + ')');  
						        //添加用户后，返回结果
						        if(msg.status==200){
						        	//弹出成功提示框
						        	$.messager.alert('操作提示','修改成功！','info');
						        	//关闭窗口
						        	$('#user-dialog-update').dialog('destroy');
						        	//刷新列表
						        	$('#user-datagrid-list').datagrid('reload');
						        }
						    }    
						});
					}
				},{
					text:'关  闭',
					iconCls:'icon-cancel',
					handler:function(){
						$('#user-dialog-update').dialog('destroy');  
					}
				}]
			}); 
		}
	};
	
	//删除
	user.remove = function(){
		//判断是否选择了记录
		var rows = $('#user-datagrid-list').datagrid('getSelections');
		if(rows.length==0){
			//给出一个警告
			$.messager.alert('提示','请选择要删除的记录！','warning');
		}else{
			
			var names = '';
			for (i in rows) {
				names += "【"+rows[i].name + "】,";
				if(i>1){
					names += "......";
					break;
				}
			}
			//删除确认
			$.messager.confirm('删除确认', '您确认要删除这些'+names+'用户吗？', function(r) {
				if (r) {
					//根据所选择的行，得到ids去删除记录 ids[0]=1&ids[1]
					var ids = '';
					for (i in rows) {
						ids += rows[i].id + ",";
					}
					//批量删除
					$.ajax({
						type : "POST",
						url : "/user/delete",
						data : "ids=" + ids,
						dataType : "json",
						success : function(msg) {
							if (msg.status == 200) {
								//弹出成功提示框
								$.messager.alert('操作提示', '删除成功！', 'info');
								//刷新列表
								$('#user-datagrid-list').datagrid('reload');
							}
						}
					});
				}
			});
		}
	}
</script>